package org.jflame.context.filemanager;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Path;
import java.util.List;
import java.util.Map;

public class S3FileManager extends OssFileManager<OssManagerCfg> {

    public S3FileManager(OssManagerCfg clientCfg) {
        super(clientCfg);
    }

    @Override
    public String save(File file, String saveDir, Map<String,String> fileMeta) throws FileAccessException {
        return null;
    }

    @Override
    public String save(InputStream fileStream, String filePath, Map<String,String> fileMeta, boolean replaceExisting)
            throws FileAccessException {
        return null;
    }

    @Override
    public InputStream readStream(String filePath) throws FileAccessException {
        return null;
    }

    @Override
    public byte[] readBytes(String filePath) throws FileAccessException {
        return null;
    }

    @Override
    public File read(String filePath) throws FileAccessException {
        return null;
    }

    @Override
    public void download(String filePath, Path savePath) throws FileAccessException {
    }

    @Override
    public int delete(String... fileKey) throws FileAccessException {
        return 0;
    }

    @Override
    public int delete(String parent, String[] fileKeys) throws FileAccessException {
        return 0;
    }

    @Override
    public String copy(String srcFilePath, String destFilePath) throws FileAccessException {
        return null;
    }

    @Override
    public List<String> listFiles(String dir, int maxFiles, boolean isExcludeDir) throws FileAccessException {
        return null;
    }

    @Override
    public void close() throws IOException {
    }

    @Override
    public SignedUrl generatePresignedPutUrl(PresignedUrlArgs args) {
        return null;
    }

    @Override
    public String generatePresignedGetUrl(PresignedUrlArgs args) {
        return null;
    }

    @Override
    public Map<String,String> generatePostObjectParams(PresignedUrlArgs args) {
        return null;
    }

    @Override
    public void createBucket(String bucketName) {
    }

}
